#! /bin/bash

###一键部署LNMP脚本#############
#1、Mysql的安装，Mysql数据库的初始化
#2、PHP7.0的安装
#3、Nginx的安装，Nginx的配置
################################

#卸载程序
/bin/bash ./uninstall.sh

#升级yum
yum update -y

#安装docker
yum install docker -y

#配置docker源
cat << eof > /etc/docker/daemon.json
{
	"registry-mirrors": ["https://registry.docker-cn.com"]
}
eof

#重新启动docker
systemctl restart docker.service

#下载mysql镜像
docker pull docker.io/mysql

#创建mysql数据存储目录
mkdir -p /usr/local/mysql/data/

#创建mysql容器
docker create --name mysql -p 3306:3306 -v /usr/local/mysql/data/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD="vrgfff122333" docker.io/mysql

#启动mysql容器
docker start mysql

#初始化mysql数据库
while true; do
    rtn1=`docker exec -i --privileged mysql /usr/bin/mysql -uroot -pvrgfff122333 mysql < ./mysql_init.sql 2>&1`
    rtn2=`echo $rtn1 | grep -E ' .*ERROR.*2002.* | .*ERROR.*1045.* ' | wc -l`
    if [ $rtn2 -eq '0' ]; then
        if [ `echo $rtn1 | grep  .*ERROR.* | wc -l` -ne '0' ]; then
            echo $rtn1
        fi
        break
    else
        echo wait...
        sleep 1
    fi
done

#下载php:7.0-fpm镜像
docker pull docker.io/php:7.0-fpm

#创建网页存放目录
mkdir -p /var/nginx/www/html/

#创建php容器
docker create --name phpfpm -p 9000:9000 -v /var/nginx/www/html:/var/www/html --link mysql:mysql docker.io/php:7.0-fpm

#启动php容器
docker start phpfpm

#下载nginx镜像
docker pull docker.io/nginx:1.10.3

#创建nginx容器
docker create --name nginx -p 80:80 -v /var/nginx/www/html:/var/www/html --link phpfpm:phpfpm docker.io/nginx:1.10.3

#启动nginx容器
docker start nginx

#删除nginx的默认配置
docker exec --privileged nginx rm /etc/nginx/conf.d/default.conf

#复制nginx配置
docker cp ./nginx.conf nginx:/etc/nginx/conf.d/nginx.conf

#重启nginx
docker restart nginx
